ยินดีต้อนรับสู่การเปลี่ยนแปลงแนวทางใหม่ ในการระบบดั้งเดิม เช่น ภาษาซีพลัสพลัสหรือจาวา การประมวลผลแบบขนานมักถูกมองว่าเป็นกิจกรรมที่มีความเสี่ยงสูง ซึ่งถูกปัญหาจาก เฮเซนเบ็กส์—ข้อผิดพลาดที่ไม่แน่นอน ซึ่งหายไปเมื่อทำการตรวจสอบโค้ด และเกิดปัญหาอย่างรุนแรงในสภาพแวดล้อมจริง ปรัชญาของรัสต์ การประมวลผลแบบขนานอย่างกล้าหาญ ได้เปลี่ยนแปลงภาพรวมนี้อย่างสิ้นเชิง
1. ความแตกต่างของคำว่า "กล้าหาญ"
ต่างจากโมเดลดั้งเดิมที่พึ่งพาความระมัดระวังของนักพัฒนาเพื่อหลีกเลี่ยงการแข่งขันในการเข้าถึงข้อมูล รัสต์ใช้ประโยชน์จาก ระบบชนิดข้อมูล และ โมเดลการเป็นเจ้าของ เพื่อตรวจสอบความปลอดภัยของเธรดในขณะคอมไพล์ หากโค้ดของคุณสามารถคอมไพล์ได้ ก็จะมีความมั่นใจทางคณิตศาสตร์ว่าจะไม่มีการแข่งขันในการเข้าถึงข้อมูลเกิดขึ้น
2. ความปลอดภัยในเวลาทำงานเทียบกับเวลาคอมไพล์
การประมวลผลแบบขนานแบบดั้งเดิมพึ่งพาการป้องกันในเวลาทำงาน (ล็อก หรือซีมฟอร์) ที่อาจถูกใช้งานผิดพลาดได้ง่าย รัสต์เปลี่ยนขอบเขตการตรวจสอบมาอยู่ที่ตัวคอมไพล์ โดยมองความปลอดภัยของเธรดเป็นคุณสมบัติของประเภทข้อมูลเอง ($$Send$$ และ $$Sync$$)
3. การเป็นเจ้าของเป็นรากฐาน
กลไกหลักนั้นเรียบง่ายแต่ลึกซึ้ง: การเป็นเจ้าของโดยบังคับให้เธรดใดเธรดหนึ่งสามารถยืมหรือครอบครองข้อมูลแบบเปลี่ยนแปลงได้เพียงครั้งเดียวในแต่ละครั้ง รัสต์จึงป้องกันการเข้าถึงพร้อมกันที่ทำให้เกิดเงื่อนไขการแข่งขันได้จริงๆ การประมวลผลแบบขนานจึงไม่ใช่สนามระเบิดอีกต่อไป แต่กลายเป็นคุณสมบัติที่คุณสามารถใช้อย่างกล้าหาญได้